1. Field
The present application relates generally to the operation of overlay networks, and more particularly, to methods and apparatus for proxying devices and services using overlay networks.
2. Background
A network in which member nodes obtain services in the absence of server-based infrastructure is referred to as a “peer-to-peer” overlay network. In a peer-to-peer overlay, peer nodes co-operate with each other both to provide services and to maintain the network. Peer-to-peer overlay networks can be built on top of an underlying network, such as a network utilizing the Internet Protocol (IP).
Typically, the nodes of a peer-to-peer overlay network differ from one another in capabilities and each node's capabilities may vary with time. For example, the amount of permanent storage available at a node may vary as files are stored and deleted by a file storage device. In another example, the battery level at a node falls over time while the node is disconnected from a main power source.
Consider a node that cannot participate in a peer-to-peer overlay network because it does not support the protocol used on the overlay. It is still possible for the node (i.e., device) to provide services to and receive services from the peer-to-peer overlay network in a limited fashion by designating another node in the overlay network as a proxy. The proxy node responds to the other nodes of the overlay network on behalf of the proxied node. Thus, as far as the rest of the nodes of the overlay network are concerned, it is as though the proxy node is providing the services of the proxied node.
Generally, a node may communicate with its proxy using a non overlay protocol that is not compatible with the protocol used on the overlay network. The proxy operates to forward packets from the proxied node to another proxy on the overlay, which in turns forwards those packets to a node that utilizes the same non overlay protocol. Thus, in conventional systems, proxies operate to allow nodes that utilize the same non overlay protocol to communicate through the overlay network. Unfortunately, current systems do not allow communications between nodes or devices that utilize different non-overlay protocols.
Therefore, it is desirable to have a simple cost effective mechanism that operates to allow proxying of devices and services on a peer-to-peer overlay network regardless of the non overlay protocols used by the devices or services.